const { http } = getApp();
Page({

  /**
   * 页面的初始数据
   */
  data: {
    cates: [],
    banners: [],
    items: [],
    page: 1,
    pageSize: 5,
    isBottom: false
  },
  enterDetail(e){
    const { id } = e.currentTarget.dataset;
    wx.navigateTo({
      url: `/pages/detail/detail?itemId=${id}`,
    })  
  },
  enterList(e){
    // 跳转列表页
    const { id } = e.currentTarget.dataset;
    wx.navigateTo({
      url: `/pages/itemList/itemList?cateId=${id}`
    })
  },
  fetchItems(){
    // 请求首页楼层数据
    http({
      url: '/shop/goods/list',
      method:'POST',
      data: {
        categoryId: 72399,
        page: this.data.page,
        pageSize: this.data.pageSize
      }
    }).then(res=>{
      if(res.data.code === 700) {
        // 已经到了最后一页没有数据了
        this.setData({
          isBottom: true
        })
      }
      if(res.data.code === 0){
        this.setData({
          items: [ ...this.data.items, ...res.data.data]
        })
      }
    })
  },
  fetchBanners(){
    // 请求首页banner
    http({
      url:'/banner/list'
    }).then(res=>{
      if(res.data.code === 0){
        this.setData({
          banners: res.data.data
        })
      }
    })
  },
  fetchCates(){
    // 请求所有分类
    http({
      url: '/shop/goods/category/all'
    }).then(res=>{
      
      if(res.data.code === 0) {
        this.setData({
          cates:res.data.data
        })
      }
    })
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    this.fetchCates();
    this.fetchBanners();
    this.fetchItems();
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {
    /* 
    上拉加载结合下拉刷新
    刷新时：
      将商品变成[]
      当前页变成1
      触底状态变成false
    */
   this.setData({
     items: [],
     page: 1,
     isBottom: false
   })
   this.fetchItems();
  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {
    console.log('触底了');
    this.setData({
      page: ++this.data.page
    })
    // 重新请求商品列表
    if(this.data.isBottom){
      return;
    }
    this.fetchItems();
  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})